package com.pug.pay.wechat.jsapi.dto;

import com.pug.pay.wechat.jsapi.model.Amount;
import com.pug.pay.wechat.jsapi.model.Payer;
import com.pug.pay.wechat.jsapi.model.SceneInfo;
import com.pug.pay.wechat.jsapi.model.SettleInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.xml.soap.Detail;

/**
 * @author RenGaoshuai
 * @date 2023/6/25 16:17
 * @description jsapi预下单请求参数
 */
@Data
public class PrepayRequest {
    /**
     * 公众号ID 说明：公众号ID
     */
    @ApiModelProperty("appid")
    private String appid;
    /**
     * 直连商户号 说明：直连商户号
     */
    @ApiModelProperty("mchid")
    private String mchid;
    /**
     * 商品描述 说明：商品描述
     */
    @ApiModelProperty("description")
    private String description;
    /**
     * 商户订单号 说明：商户订单号
     */
    @ApiModelProperty("out_trade_no")
    private String outTradeNo;

    /**
     * 通知地址 说明：有效性：1. HTTPS；2. 不允许携带查询串。
     */
    @ApiModelProperty("notify_url")
    private String notifyUrl;

    /**
     * amount-订单金额
     */
    @ApiModelProperty("amount")
    private Amount amount;
    /**
     * payer+支付者
     */
    @ApiModelProperty("payer")
    private Payer payer;


    /**
     * 可空，detail-优惠功能
     */
    @ApiModelProperty("detail")
    private Detail detail;
    /**
     * 可空，sceneInfo-场景信息
     */
    @ApiModelProperty("scene_info")
    private SceneInfo sceneInfo;
    /**
     * 可空，settleInfo-结算信息
     */
    @ApiModelProperty("settle_info")
    private SettleInfo settleInfo;


    /**
     * 可空，交易结束时间 说明：订单失效时间，格式为rfc3339格式
     */
    @ApiModelProperty("time_expire")
    private String timeExpire;
    /**
     * 可空，附加数据 说明：附加数据
     */
    @ApiModelProperty("attach")
    private String attach;
    /**
     * 可空，订单优惠标记 说明：商品标记，代金券或立减优惠功能的参数。
     */
    @ApiModelProperty("goods_tag")
    private String goodsTag;

    /**
     * 可空，电子发票入口开放标识 说明：传入true时，支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能，传此字段才可生效。
     */
    @ApiModelProperty("support_fapiao")
    private Boolean supportFapiao;
}
